home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok81 / m2 / defs / execl.def < prev    next >
Text File  |  1993-11-04  |  10KB  |  367 lines

  1. DEFINITION MODULE ExecL {"exec.library", 33};
  2. (* 10-Mar-1992/cn *)
  3.  
  4. FROM SYSTEM IMPORT ADDRESS,BITSET,BPTR,BYTE,LONGSET,SHORTSET,WORD;
  5.  
  6. IMPORT
  7.   d:ExecD, R;
  8.  
  9. VAR
  10.   execVersion:INTEGER;
  11.   execBase:d.ExecBasePtr;
  12.  
  13. CONST
  14.   execMinVersion=33;
  15.   execName="exec.library";
  16.  
  17. PROCEDURE AbortIO(ioRequest{R.A1}:ADDRESS); CODE -480;
  18.  
  19. PROCEDURE AddDevice(device{R.A1}:d.DevicePtr); CODE -432;
  20.  
  21. PROCEDURE AddHead(
  22.            list{R.A0}:d.ListPtr;
  23.            node{R.A1}:ADDRESS); CODE -240;
  24.  
  25. PROCEDURE AddIntServer(
  26.            intNum{R.D0}: LONGINT;
  27.            interrupt{R.A1}:d.InterruptPtr); CODE -168;
  28.  
  29. PROCEDURE AddLibrary(library{R.A1}:d.LibraryPtr); CODE -396;
  30.  
  31. PROCEDURE AddMemList(
  32.            size{R.D0}:LONGINT;
  33.            attributes{R.D1}:d.MemReqSet;
  34.            pri{R.D2}:LONGINT;
  35.            base{R.A0}:ADDRESS;
  36.            name{R.A1}:ADDRESS):LONGINT; CODE -618;
  37.  
  38. PROCEDURE AddPort(port{R.A1}:d.MsgPortPtr); CODE -354;
  39.  
  40. PROCEDURE AddResource(resource{R.A1}:ADDRESS); CODE -486;
  41.  
  42. PROCEDURE(*36*) AddSemaphore(
  43.                  signalSemaphore{R.A1}:d.SignalSemaphorePtr); CODE -600;
  44. (*
  45.  genaugenommen gibt es AddSemaphore schon länger, war aber vor der
  46.  Version 36 der exec.library falsch implementiert. Siehe dazu die
  47.  Beschreibung der Prozedur in der 3. Ausgabe des RKM Autodocs&Includes
  48.  auf S. 131.
  49. *)
  50.  
  51. PROCEDURE AddTail(
  52.            list{R.A0}:d.ListPtr;
  53.            node{R.A1}:ADDRESS); CODE -246;
  54.  
  55. PROCEDURE AddTask(
  56.            task{R.A1}:d.TaskPtr;
  57.            initialPC{R.A2}:ADDRESS;
  58.            finalPC{R.A3}:ADDRESS); CODE -282;
  59.  
  60. PROCEDURE Alert(
  61.            alertNum{7}:LONGINT;
  62.            parameters{13}:ADDRESS); CODE -108;
  63. (*
  64.  Der zweite Parameter wird ab WB2.0 ignoriert.
  65. *)
  66.  
  67. PROCEDURE AllocAbs(
  68.            byteSize{R.D0}:LONGINT;
  69.            location{R.A1}:ADDRESS):ADDRESS; CODE -204;
  70.  
  71. PROCEDURE Allocate(
  72.            freeList{R.A0}:d.MemHeaderPtr;
  73.            byteSize{R.D0}:LONGINT):ADDRESS; CODE -186;
  74.  
  75. PROCEDURE AllocEntry(
  76.            memList{R.A0}:d.MemListPtr):d.MemListPtr; CODE -222;
  77.  
  78. PROCEDURE AllocMem(
  79.            byteSize{R.D0}:LONGINT;
  80.            requirements{R.D1}:d.MemReqSet):ADDRESS; CODE -198;
  81.  
  82. PROCEDURE AllocSignal(
  83.            signalNum{R.D0}:LONGINT):LONGINT; CODE -330;
  84.  
  85. PROCEDURE AllocTrap(trapNum{R.D0}:LONGINT):LONGINT; CODE -342;
  86.  
  87. PROCEDURE(*36*) AllocVec(
  88.                  byteSize{R.D0}:LONGINT;
  89.                  requirements{R.D1}:d.MemReqSet):ADDRESS; CODE -684;
  90.  
  91. PROCEDURE AttemptSemaphore(
  92.            signalSemaphore{R.A0}:d.SignalSemaphorePtr
  93.           ):BOOLEAN; CODE -576;
  94.  
  95. PROCEDURE(*37*) AttemptSemaphoreShared(
  96.                  signalSemaphore{R.A0}:d.SignalSemaphorePtr
  97.                 ):BOOLEAN; CODE -720;
  98.  
  99. PROCEDURE AvailMem(
  100.            requirements{R.D1}:d.MemReqSet):LONGINT; CODE -216;
  101.  
  102. PROCEDURE(*37*) CacheClearE(
  103.                  address{R.A0}:ADDRESS;
  104.                  length{R.D0}:LONGCARD;
  105.                  caches{R.D1}:d.CacheFlagSet); CODE -642;
  106.  
  107. PROCEDURE(*37*) CacheClearU; CODE -636;
  108.  
  109. PROCEDURE(*37*) CacheControl(
  110.                  cacheBits{R.D0},
  111.                  cacheMask{R.D1}:d.CacheFlagSet
  112.                 ):d.CacheFlagSet; CODE -648;
  113.  
  114. PROCEDURE(*37*) CachePostDMA(
  115.                  vAddress{R.A0}:ADDRESS;
  116.                  VAR length{R.A1}:LONGCARD;
  117.                  flags{R.D1}:d.DMAControlFlagSet); CODE -768;
  118.  
  119. PROCEDURE(*37*) CachePreDMA(
  120.                  vAddress{R.A0}:ADDRESS;
  121.                  VAR length{R.A1}:LONGCARD;
  122.                  flags{R.D1}:d.DMAControlFlagSet):ADDRESS; CODE -762;
  123.  
  124. PROCEDURE Cause(interrupt{R.A1}:d.InterruptPtr); CODE -180;
  125.  
  126. PROCEDURE CheckIO(ioRequest{R.A1}:ADDRESS):BOOLEAN; CODE -468;
  127.  
  128. PROCEDURE CloseDevice(ioRequest{R.A1}:ADDRESS); CODE -450;
  129.  
  130. PROCEDURE CloseLibrary(library{R.A1}:d.LibraryPtr); CODE -414;
  131.  
  132. PROCEDURE(*36*) ColdReboot; CODE -726;
  133.  
  134. PROCEDURE CopyMem(
  135.            source{R.A0}:ADDRESS;
  136.            dest{R.A1}:ADDRESS;
  137.            size{R.D0}:LONGINT); CODE -624;
  138.  
  139. PROCEDURE CopyMemQuick(
  140.            source{R.A0}:ADDRESS;
  141.            dest{R.A1}:ADDRESS;
  142.            size{R.D0}:LONGINT); CODE -630;
  143.  
  144. PROCEDURE(*36*) CreateIORequest(
  145.                  replyPort{R.A0}:d.MsgPortPtr;
  146.                  size{R.D0}:LONGINT):ADDRESS ; CODE -654;
  147.  
  148. PROCEDURE(*36*) CreateMsgPort():d.MsgPortPtr; CODE -666;
  149.  
  150. PROCEDURE Deallocate(
  151.            freeList{R.A0}:d.MemHeaderPtr;
  152.            memoryBlock{R.A1}:ADDRESS;
  153.            byteSize{R.D0}:LONGINT); CODE -192;
  154.  
  155. PROCEDURE Debug(flags{R.D0}:LONGSET); CODE -114;
  156. (*
  157.  Die flags müssen immer den Wert LONGSET{} enthalten.
  158. *)
  159.  
  160. PROCEDURE(*36*) DeleteIORequest(iorequest{R.A0}:ADDRESS); CODE -660;
  161.  
  162. PROCEDURE(*36*) DeleteMsgPort(port{R.A0}:d.MsgPortPtr); CODE -672;
  163.  
  164. PROCEDURE Disable(); CODE -120;
  165.  
  166. PROCEDURE DoIO(ioRequest{R.A1}:ADDRESS); CODE -456;
  167.  
  168. PROCEDURE Enable(); CODE -126;
  169.  
  170. PROCEDURE Enqueue(
  171.            list{R.A0}:d.ListPtr;
  172.            node{R.A1}:ADDRESS); CODE -270;
  173.  
  174. PROCEDURE FindName(
  175.            start{R.A0}:ADDRESS;
  176.            name{R.A1}:ADDRESS):ADDRESS; CODE -276;
  177.  
  178. PROCEDURE FindPort(name{R.A1}:ADDRESS):d.MsgPortPtr; CODE -390;
  179.  
  180. PROCEDURE FindResident(
  181.            name{R.A1}:ADDRESS):d.ResidentPtr; CODE -96;
  182.  
  183. PROCEDURE FindSemaphore(
  184.            name{R.A1}:ADDRESS):d.SignalSemaphorePtr; CODE -594;
  185.  
  186. PROCEDURE FindTask(name{R.A1}:ADDRESS):d.TaskPtr; CODE -294;
  187.  
  188. PROCEDURE Forbid(); CODE -132;
  189.  
  190. PROCEDURE FreeEntry(memList{R.A0}:d.MemListPtr); CODE -228;
  191.  
  192. PROCEDURE FreeMem(
  193.            memoryBlock{R.A1}:ADDRESS;
  194.            byteSize{R.D0}:LONGINT); CODE -210;
  195.  
  196. PROCEDURE FreeSignal(signalNum{R.D0}:LONGINT); CODE -336;
  197.  
  198. PROCEDURE FreeTrap(trapNum{R.D0}:LONGINT); CODE -348;
  199.  
  200. PROCEDURE(*36*) FreeVec(memoryBlock{R.A1}:ADDRESS); CODE -690;
  201.  
  202. PROCEDURE GetCC():BITSET; CODE -528;
  203.  
  204. PROCEDURE GetMsg(port{R.A0}:d.MsgPortPtr):ADDRESS; CODE -372;
  205.  
  206. PROCEDURE InitCode(
  207.            startClass{R.D0}:d.ResidentFlagSet;
  208.            version{R.D1}:LONGINT); CODE -72;
  209.  
  210. PROCEDURE InitResident(
  211.            resident{R.A1}:d.ResidentPtr;
  212.            segList{R.D1}:BPTR); CODE -102;
  213.  
  214. PROCEDURE InitSemaphore(
  215.            signalSemaphore{R.A0}:d.SignalSemaphorePtr); CODE -558;
  216.  
  217. PROCEDURE InitStruct(
  218.            initTable{R.A1}:ADDRESS;
  219.            memory{R.A2}:ADDRESS;
  220.            size{R.D0}:LONGCARD); CODE -78;
  221.  
  222. PROCEDURE Insert(
  223.            list{R.A0}:d.ListPtr;
  224.            node{R.A1}:ADDRESS;
  225.            listNode{R.A2}:ADDRESS); CODE -234;
  226.  
  227. PROCEDURE MakeFunctions(
  228.            target{R.A0}:ADDRESS;
  229.            functArray{R.A1}:ADDRESS;
  230.            functDispBase{R.A2}:ADDRESS); CODE -90;
  231.  
  232. PROCEDURE MakeLibrary(
  233.            vectors{R.A0}:ADDRESS;
  234.            structure{R.A1}:ADDRESS;
  235.            init{R.A2}:ADDRESS;
  236.            dataSize{R.D0}:LONGINT;
  237.            segList{R.D1}:BPTR):d.LibraryPtr; CODE -84;
  238.  
  239. PROCEDURE ObtainSemaphore(
  240.            signalSemaphore{R.A0}:d.SignalSemaphorePtr); CODE -564;
  241.  
  242. PROCEDURE ObtainSemaphoreList(list{R.A0}:d.ListPtr); CODE -582;
  243.  
  244. PROCEDURE(*36*) ObtainSemaphoreShared(
  245.                  sigSem{R.A0}:d.SignalSemaphorePtr); CODE -678;
  246.  
  247. PROCEDURE OldOpenLibrary(
  248.            libName{R.A1}:ADDRESS):d.LibraryPtr; CODE -408;
  249.  
  250. PROCEDURE OpenDevice(
  251.            devName{R.A0}:ADDRESS;
  252.            unitNumber{R.D0}:LONGINT;
  253.            ioRequest{R.A1}:ADDRESS;
  254.            flags{R.D1}:LONGSET); CODE -444;
  255.  
  256. PROCEDURE OpenLibrary(
  257.            libName{R.A1}:ADDRESS;
  258.            version{R.D0}:LONGINT):d.LibraryPtr; CODE -552;
  259.  
  260. PROCEDURE OpenResource(resName{R.A1}:ADDRESS):ADDRESS; CODE -498;
  261.  
  262. PROCEDURE Permit(); CODE -138;
  263.  
  264. PROCEDURE Procure(
  265.            semaphore{R.A0}:d.SemaphorePtr;
  266.            bidMessage{R.A1}:d.MessagePtr):LONGINT; CODE -540;
  267.  
  268. PROCEDURE PutMsg(
  269.            port{R.A0}:d.MsgPortPtr;
  270.            message{R.A1}:ADDRESS); CODE -366;
  271.  
  272. PROCEDURE RawDoFmt(
  273.            formatString{R.A0}:ADDRESS;
  274.            dataStream{R.A1}:ADDRESS;
  275.            putChProc{R.A2}:ADDRESS;
  276.            putChData{R.A3}:ADDRESS); CODE -522;
  277.  
  278. PROCEDURE ReleaseSemaphore(
  279.            signalSemaphore{R.A0}:d.SignalSemaphorePtr); CODE -570;
  280.  
  281. PROCEDURE ReleaseSemaphoreList(list{R.A0}:d.ListPtr); CODE -588;
  282.  
  283. PROCEDURE RemDevice(device{R.A1}:d.DevicePtr); CODE -438;
  284.  
  285. PROCEDURE RemHead(list{R.A0}:d.ListPtr):ADDRESS; CODE -258;
  286.  
  287. PROCEDURE RemIntServer(
  288.            intNum{R.D0}: LONGINT;
  289.            interrupt{R.A1}:d.InterruptPtr); CODE -174;
  290.  
  291. PROCEDURE RemLibrary(
  292.            library{R.A1}:d.LibraryPtr); CODE -402;
  293.  
  294. PROCEDURE Remove(node{R.A1}:ADDRESS); CODE -252;
  295.  
  296. PROCEDURE RemPort(port{R.A1}:d.MsgPortPtr); CODE -360;
  297.  
  298. PROCEDURE RemResource(resource{R.A1}:ADDRESS); CODE -492;
  299.  
  300. PROCEDURE RemSemaphore(
  301.            signalSemaphore{R.A1}:d.SignalSemaphorePtr); CODE -606;
  302.  
  303. PROCEDURE RemTail(list{R.A0}:d.ListPtr):ADDRESS; CODE -264;
  304.  
  305. PROCEDURE RemTask(task{R.A1}:d.TaskPtr); CODE -288;
  306.  
  307. PROCEDURE ReplyMsg(message{R.A1}:ADDRESS); CODE -378;
  308.  
  309. PROCEDURE SendIO(ioRequest{R.A1}:ADDRESS); CODE -462;
  310.  
  311. PROCEDURE SetExcept(
  312.            newSignals{R.D0}:LONGSET;
  313.            signalMask{R.D1}:LONGSET):LONGSET; CODE -312;
  314.  
  315. PROCEDURE SetFunction(
  316.            library{R.A1}:d.LibraryPtr;
  317.            funcOffset{R.A0}:INTEGER;
  318.            funcEntry{R.D0}:ADDRESS):ADDRESS; CODE -420;
  319.  
  320. PROCEDURE SetIntVector(
  321.            intNumber{R.D0}:LONGINT;
  322.            interrupt{R.A1}:d.InterruptPtr):d.InterruptPtr; CODE -162;
  323.  
  324. PROCEDURE SetSignal(
  325.            newSignals{R.D0}:LONGSET;
  326.            signalMask{R.D1}:LONGSET):LONGSET; CODE -306;
  327.  
  328. PROCEDURE SetSR(
  329.            newSR{R.D0}:BITSET;
  330.            mask{R.D1}:BITSET):BITSET; CODE -144;
  331.  
  332. PROCEDURE SetTaskPri(
  333.            task{R.A1}:d.TaskPtr;
  334.            priority{R.D0}:SHORTINT):SHORTINT; CODE -300;
  335.  
  336. PROCEDURE Signal(
  337.            task{R.A1}:d.TaskPtr;
  338.            signals{R.D0}:LONGSET); CODE -324;
  339.  
  340. PROCEDURE(*37*) StackSwap(
  341.                  VAR newStack{R.A0}:d.StackSwapStruct); CODE -732;
  342.  
  343. PROCEDURE SumKickData():LONGCARD; CODE -612;
  344. (*
  345.  Das Resultat ist undefiniert bei WB1.2 oder WB1.3.
  346. *)
  347.  
  348. PROCEDURE SumLibrary(library{R.A1}:d.LibraryPtr); CODE -426;
  349.  
  350. PROCEDURE SuperState():ADDRESS; CODE -150;
  351.  
  352. PROCEDURE Supervisor(userFunction{R.A5}:PROC); CODE -30;
  353.  
  354. PROCEDURE TypeOfMem(address{R.A1}:ADDRESS):d.MemReqSet; CODE -534;
  355.  
  356. PROCEDURE UserState(sysStack{R.D0}:ADDRESS); CODE -156;
  357.  
  358. PROCEDURE Vacate(semaphore{R.A0}:d.SemaphorePtr); CODE -546;
  359.  
  360. PROCEDURE Wait(signalSet{R.D0}:LONGSET):LONGSET; CODE -318;
  361.  
  362. PROCEDURE WaitIO(ioRequest{R.A1}:ADDRESS); CODE -474;
  363.  
  364. PROCEDURE WaitPort(port{R.A0}:d.MsgPortPtr); CODE -384;
  365.  
  366. END ExecL.lib33
  367.